package org.cms.entities;

import javax.persistence.*;
import java.util.List;

/**
 * Created by elnoa on 22/10/14.
 */
@Entity
public class Attendee {


    @EmbeddedId AttendeeId id;


    @ManyToMany(mappedBy = "attendee")
    private List<Event> events;


    /**
     * The attendee's response status. Possible values are: - "needsAction" - The attendee has not
     * responded to the invitation.  - "declined" - The attendee has declined the invitation.  -
     * "tentative" - The attendee has tentatively accepted the invitation.  - "accepted" - The
     * attendee has accepted the invitation.
     * The value may be {@code null}.
     */
    private String responseStatus;
    /**
     * Whether the attendee is the organizer of the event. Read-only. The default is False.
     * The value may be {@code null}.
     */
    private Boolean organizer;

    /**
     * Whether this is an optional attendee. Optional. The default is False.
     * The value may be {@code null}.
     */
    private Boolean optional;

    /**
     * Number of additional guests. Optional. The default is 0.
     * The value may be {@code null}.
     */
    private Integer additionalGuests;

    /**
     * The attendee's response comment. Optional.
     * The value may be {@code null}.
     */
    private java.lang.String comment;


    public AttendeeId getId() {
        return id;
    }

    public void setId(AttendeeId id) {
        this.id = id;
    }

//    public String getName() {
//        return name;
//    }
//
//    public void setName(String name) {
//        this.name = name;
//    }
//
//    public String getEmail() {
//        return email;
//    }
//
//    public void setEmail(String email) {
//        this.email = email;
//    }

    public String getResponseStatus() {
        return responseStatus;
    }

    public void setResponseStatus(String responseStatus) {
        this.responseStatus = responseStatus;
    }

    public Boolean getOrganizer() {
        return organizer;
    }

    public void setOrganizer(Boolean organizer) {
        this.organizer = organizer;
    }

    public Boolean getOptional() {
        return optional;
    }

    public void setOptional(Boolean optional) {
        this.optional = optional;
    }

    public Integer getAdditionalGuests() {
        return additionalGuests;
    }

    public void setAdditionalGuests(Integer additionalGuests) {
        this.additionalGuests = additionalGuests;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }
}
